home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Newspaper 8
/
Newspaper_8_2002-11-24_EXclusive_ON_Disk_4_of_4.d64
/
t.d.d. depacker
< prev
next >
Wrap
Text File
|
2023-02-26
|
1KB
|
88 lines
; Depacker for "Demo data packer v2.0"
; () by Volcano/EXON
;
; Length: $69 bytes!
;
; For example:
;
; Data at ..... $97ed
; Depack to ... $5af3
;
; Do it:
;
; ldx #$ed ; lo byte of start
; ldy #$97 ; hi byte of start
; jsr init
; ldx #$f3 ; lo byte of depack area
; ldy #$5a ; hi byte of depack area
; jsr depack
;
; That's all ...
vec1 = $fa ;-$fb
vec2 = $fc ;-$fd
*= $0900
init stx vec1
sty vec1+1
end rts
depack stx vec2
sty vec2+1
;-----------
continue ldy #$00
lda (vec1),y
bmi end
bne dep
;-----------
inc vec1
bne *+4
inc vec1+1
lda (vec1),y
sta howmuch1+1
inc vec1
bne *+4
inc vec1+1
loop1 lda (vec1),y
sta (vec2),y
iny
howmuch1 cpy #$00
bne loop1
tya
beq go1
clc
adc vec1
sta vec1
bcc go2
go1 inc vec1+1
jmp go2
;-----------
dep inc vec1
bne *+4
inc vec1+1
lda (vec1),y
sta howmuch2+1
inc vec1
bne *+4
inc vec1+1
lda (vec1),y
inc vec1
bne *+4
inc vec1+1
loop2 sta (vec2),y
iny
howmuch2 cpy #$00
bne loop2
go2 tya
beq go3
clc
adc vec2
sta vec2
bcc continue
go3 inc vec2+1
jmp continue
;-----------